why serialization is required in java